Building a custom MDF
An MDF has a fixed structure as outlined below.
Header
The file starts with a header. This tells the software reading the MDF what XML version and encoding to expect, sets the MDF version number and gives some information about the author(s).
<?xml version="1.0" encoding="UTF-8"?>
<!-- Version 0.0.1C -->
<!-- 2005-08-01 Ake Hedman, eurosource -->
<!-- 2014-12-14 David Steeman, www.steeman.be -->
Module information
Next are two tags that span the whole rest of the MDF, and which mean that the rest of the file will be describing a VSCP module. These tags are closed at the very end of the file.
<vscp>
<module>
General tags
Within the module tags, first the module name, model, description and a URL pointing to more information are defined. This can be any text describing the module.
<name>Mespelare VSCP Module v6</name>
<model>hardware v6, firmware v1.1.0</model>
<description lang="en">With this VSCP module it is possible to read 7 buttons; control 7 outputs and 7 LEDs; and read/write I²C and 1-wire buses.</description>
<infourl>http://www.vscp.org/</infourl>
The <buffersize< tag describes the maximum package size a node can receive, in this example 8 bytes.
The <manufacturer< tags holds information about the manufacturer of the module. Not all tags need to be filled in.
<manufacturer>
<name>David</name>
<address>
<street>-</street>
<city>Mespelare</city>
<postcode>9200</postcode>
<country>Belgium</country>
</address>
<telephone>
<number>-</number>
<description lang="en">-</description>
</telephone>
<email>david@steeman.be</email>
<email>-</email>
<email>-</email>
<web>www.steeman.be</web>
</manufacturer>
The next tag, <boot<, describes the algorithm for the boot loader and its settings.
<boot>
<algorithm>1</algorithm>
<blocksize>8</blocksize>
<blockcount>4096</blockcount>
</boot>